Component({
  options: {
    // 在组件定义时的选项中启用多slot支持
    multipleSlots: true,
    styleIsolation: 'apply-shared'
  },
  /**
   * 组件的属性列表
   */
  properties: {
    confirmText: {
      type: String,
      value: '确认',
    },
    showConfirm: {
      type: Boolean,
      value: false,
    },
    cancelText: {
      type: String,
      value: '取消',
    },
    showCancel: {
      type: Boolean,
      value: false,
    },
    title: {
      type: String,
      value: '',
    },
    showMask: {
      type: Boolean,
      value: true,
    },
  },

  /**
   * 组件的初始数据
   */
  data: {

  },

  /**
   * 组件的方法列表
   */
  methods: {
    onMaskTap: function (e) {
      console.log(e, '蒙层点击');
      this.triggerEvent('onmasktap', {});
    },
    // 取消按钮点击事件
    onCancelTap: function (e) {
      console.log(e, '取消按钮点击');
      this.triggerEvent('oncancel', {});
    },
    // 确定按钮点击事件
    onConfirmTap: function (e) {
      console.log(e, '确定按钮点击');
      this.triggerEvent('onconfirm', {});
    }
  },

  created: function () {
    console.log('在组件实例刚刚被创建时执行')
  },

  attached: function () {
    console.log('在组件实例进入页面节点树时执行')
  },

  ready: function () {
    console.log('在组件在视图层布局完成后执行')
  },

  detached: function () {
    console.log('在组件实例被从页面节点树移除时执行')
  },

  /**
   * 组件所在页面的生命周期
   */
  pageLifetimes: {
    show: function () {
      console.log('页面被展示')
    },
    hide: function () {
      console.log('页面被隐藏')
    }
  },
})
